package yl.hs.bmipfull.service.production;

import yl.hs.bmipfull.pojo.production.ProductDefectiveEntity;
import yl.hs.bmipfull.service.IBaseService;
import yl.hs.bmipfull.viewmodels.PageQuery;
import yl.hs.bmipfull.viewmodels.PageResult;
import java.util.List;
import java.util.Map;

/**
 * 作用:  不良品出入库记录服务层接口<br/>
 * 创建时间: 2023年08月12日 09时31分37秒 <br/>
 * @author 吴高丰
 */

public interface IProductDefectiveService extends IBaseService{

        /**
         * 查询不良品出入库记录信息
         * @param pageQuery 查询条件 {@link PageQuery}
         * @return不良品出入库记录信息-List<{@link productdefectiveEntity}>
         * @throws Exception 查询参数异常
         */
        List<ProductDefectiveEntity> queryList(PageQuery pageQuery)throws Exception;
        /**
         * 查询不良品出入库记录信息
         * @param pageQuery 查询条件 {@link PageQuery}
         * @param rowNum 每页条数
         * @param page 页码
         * @return 不良品出入库记录分页信息-PageResult<{@link ProductDefectiveEntity}>
         * @throws Exception 查询条件异常
         */
        PageResult<ProductDefectiveEntity> queryPage(PageQuery pageQuery, int rowNum, int page) throws Exception;



        /**
         * 根据不良品出入库记录编号查询不良品出入库记录信息
         * @param sn 编号
         * @return 不良品出入库记录-{@link ProductDefectiveEntity}
         */
        ProductDefectiveEntity findBySn(String sn);

        /**
         * 保存不良品出入库记录信息
         * @param model 不良品出入库记录表单信息
         * @param sn 不良品出入库记录信息原有编号
         * @return 执行结果-受影响行数-Integer
         * @throws Exception 保存异常
         */
        Integer saveproduct_defective(Map<String, Object> model,String sn)throws Exception;

        /**
         * 根据不良品出入库记录编号删除不良品出入库记录信息
         * @param sn 不良品出入库记录编号
         * @return 影响行数
         */
        Integer delete(String sn);
        }